package com.pdd.mall.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.pdd.mall.dto.ProductParam;
import com.pdd.mall.entity.Product;

/**
 * 商品服务接口
 */
public interface ProductService {

    /**
     * 获取商品列表
     */
    Page<Product> getProductList(String keyword, Long categoryId, Double minPrice, Double maxPrice, Integer pageNum, Integer pageSize, String sortField, String sortOrder);

    /**
     * 获取商品详情
     */
    Product getProductDetail(Long id);

    /**
     * 获取商家的商品列表
     */
    Page<Product> getMerchantProductList(Long merchantId, String keyword, Long categoryId, Integer status, Integer pageNum, Integer pageSize, String sortField, String sortOrder);

    /**
     * 获取商家的商品详情
     */
    Product getMerchantProductDetail(Long id, Long merchantId);

    /**
     * 添加商品
     */
    Product addProduct(ProductParam param, Long merchantId);

    /**
     * 更新商品
     */
    Product updateProduct(Long id, ProductParam param, Long merchantId);

    /**
     * 删除商品
     */
    boolean deleteProduct(Long id, Long merchantId);

    /**
     * 更新商品状态
     */
    boolean updateProductStatus(Long id, Integer status, Long merchantId);
}
